Stefan Kangas [Tue, 3 Jan 2023 05:30:17 +0000 (06:30 +0100)]
Merge from origin/emacs-29
6dd3e352f44 Extract common code into ruby-base-mode to derive from
94e330243e1 ruby-ts-mode: Indentation fixes
9b24417dda8 ruby-ts--font-lock-settings: Use more standard faces
9e6536e4d96 ruby-ts-mode: Standardize the string literal highlights
1a9a1fdebf6 Improve fontification in java-ts-mode (bug#60492)
dfdf9c21cbe Fontification improvements in typescript-ts-mode (bug#60500)
68e68dfeefe Improve fontification consistency in js-ts-mode (bug#60503)
aef869e74f4 ; Update tree-sitter manual
4ef12cfb1fc ; Fix tree-sitter manual title case
aab8ddca5e1 ; nt/INSTALL: Update for Emacs 29.
809fbb0e8c4 ; Update copyright notice in tramp-sh.el
f8f5202487c (typescript/tsx-ts-mode): Split font-lock feature list in...
a86a213e1ac js-ts-mode: Move 'string-interpolation' to font-lock level 3
d26b523886e Fix shrinking of the tab-bar
3f7ea621b90 ; Fix typos in ruby-ts-mode.el
9599b054316 ; Skip ruby-ts tests if grammar is not available
ff35ac9dfab Fix default-port regression in erc-select-read-args
b7ad0b40148 ; Clarify doc strings of 'call-process' and 'call-process...
Dmitry Gutov [Tue, 3 Jan 2023 01:10:49 +0000 (03:10 +0200)]
Extract common code into ruby-base-mode to derive from
* lisp/progmodes/ruby-mode.el (ruby-base-mode):
New major base mode, to set up common vars and hooks.
(ruby-mode-variables): Delete. Move most code to ruby-base-mode.
And some -- to ruby-mode body.
(ruby-mode): Derive from ruby-base-mode. Also move some setup
to there.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Derive from ruby-base-mode. Remove duplicating settings.
Dmitry Gutov [Tue, 3 Jan 2023 00:26:00 +0000 (02:26 +0200)]
ruby-ts-mode: Indentation fixes
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-keywords):
Fix for 'def' (which was misread as 'method' in the check).
(ruby-ts--indent-rules): Indent the curly block closer the same
way as the 'do ... end' closer.
Dmitry Gutov [Mon, 2 Jan 2023 22:41:25 +0000 (00:41 +0200)]
ruby-ts--font-lock-settings: Use more standard faces
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use more standard faces for regexp literals and string
interpolation delimiters (following js-ts-mode).
Dmitry Gutov [Mon, 2 Jan 2023 21:26:39 +0000 (23:26 +0200)]
ruby-ts-mode: Standardize the string literal highlights
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use font-lock-string-face for %w() and `...`.
Use font-lock-constant-face (just like we do for symbol literals)
for symbol array literals, %i().
Combine the matchers for string content and heredocs.
Theodor Thornhill [Mon, 2 Jan 2023 12:46:25 +0000 (13:46 +0100)]
Improve fontification in java-ts-mode (bug#60492)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
Add expression_statement with only identifier support.
Jostein Kjønigsen [Mon, 2 Jan 2023 19:56:41 +0000 (20:56 +0100)]
Fontification improvements in typescript-ts-mode (bug#60500)
- highlight method-definitins in interfaces.
- only highlight variable-declarations, not variables
everywhere (consistency with other modes).
- move highlighting of method invocations to level 4
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Update rules.
(typescript-ts-mode, tsx-ts-mode): Update feature list.
Jostein Kjønigsen [Mon, 2 Jan 2023 20:26:36 +0000 (21:26 +0100)]
Improve fontification consistency in js-ts-mode (bug#60503)
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Highlight
declared parameters in functions, methods and arrow-expressions as
variables.
Yuan Fu [Mon, 2 Jan 2023 22:15:36 +0000 (14:15 -0800)]
; Update tree-sitter manual
* doc/lispref/positions.texi (List Motion): Replace
treesit-defun-prefer-top-level with treesit-defun-tactic.
Yuan Fu [Mon, 2 Jan 2023 22:15:05 +0000 (14:15 -0800)]
; Fix tree-sitter manual title case
* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi: Change to title case.
Paul Eggert [Mon, 2 Jan 2023 18:00:41 +0000 (10:00 -0800)]
Improve interactive file-saving performance
* src/fileio.c (init_fileio):
No longer any need to set write-region-inhibit-fsync here.
(syms_of_fileio): Default write-region-inhibit-fsync to t (Bug#60474).
Eli Zaretskii [Mon, 2 Jan 2023 18:56:52 +0000 (20:56 +0200)]
; nt/INSTALL: Update for Emacs 29.
Michael Albinus [Mon, 2 Jan 2023 18:50:07 +0000 (19:50 +0100)]
; Update copyright notice in tramp-sh.el
* lisp/net/tramp-sh.el (tramp-perl-encode, tramp-perl-decode):
Remove copyright notice, Tramp is copyrighted by FSF anyway.
Dmitry Gutov [Mon, 2 Jan 2023 18:42:52 +0000 (20:42 +0200)]
(typescript/tsx-ts-mode): Split font-lock feature list into 4 values
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode)
(tsx-ts-mode): Split font-lock feature list into 4 values.
Dmitry Gutov [Mon, 2 Jan 2023 17:59:50 +0000 (19:59 +0200)]
js-ts-mode: Move 'string-interpolation' to font-lock level 3
* lisp/progmodes/js.el (js-ts-mode):
Move 'string-interpolation' to font-lock level 3.
Eli Zaretskii [Mon, 2 Jan 2023 15:02:05 +0000 (17:02 +0200)]
Fix shrinking of the tab-bar
* src/haikufns.c (haiku_change_tab_bar_height):
* src/pgtkfns.c (pgtk_change_tab_bar_height):
* src/nsfns.m (ns_change_tab_bar_height):
* src/w32fns.c (w32_change_tab_bar_height):
* src/xfns.c (x_change_tab_bar_height): Don't let the number of
tab-bar lines degenerate to zero due to integer division.
(Bug#60210)
Stefan Kangas [Mon, 2 Jan 2023 14:17:59 +0000 (15:17 +0100)]
; Fix typos in ruby-ts-mode.el
Stefan Kangas [Mon, 2 Jan 2023 13:58:37 +0000 (14:58 +0100)]
; Skip ruby-ts tests if grammar is not available
* test/lisp/progmodes/ruby-ts-mode-tests.el: Properly skip tests if
there is no grammar for ruby.
F. Jason Park [Thu, 29 Dec 2022 14:43:19 +0000 (06:43 -0800)]
Fix default-port regression in erc-select-read-args
* lisp/erc/erc.el (erc--warn-unencrypted): New function, likely
temporary, to warn new users connecting interactively to the default
server, "irc.libara.chat", via the default non-TLS port, 6667.
(erc-select-read-args): Remove stray code from incomplete feature
introduced by bug#56514. Ensure connecting always works with default
port, which is non-TLS. Respect `erc-prompt-for-password' when user
pastes URL containing password component into "server" prompt. Maybe
add `erc--warn-unencrypted' as one-off hook for impending connection.
* test/lisp/erc/erc-tests.el (erc-select-read-args): Always expect
password prompt and sometimes a non-TLS port when `erc' called
interactively. (Bug#60428.)
Eli Zaretskii [Mon, 2 Jan 2023 11:52:25 +0000 (13:52 +0200)]
; Clarify doc strings of 'call-process' and 'call-process-region'
* src/callproc.c (Fcall_process, Fcall_process_region): Document
that the destination buffer can be specified by its name.
(Bug#60477)
Stefan Kangas [Mon, 2 Jan 2023 11:06:37 +0000 (12:06 +0100)]
Merge from origin/emacs-29
4520f09dd8b ; * admin/git-bisect-start: Update failing commits
2569ede9c49 Update to Org 9.6-81-g563a43
d9ed736f0a7 ruby-ts-mode: Remove some currently unused functions
45618447203 ruby-ts-mode: Highlight singleton method definitions and ...
0562006da3b Add ruby-ts-mode
84e7c2fbc85 Fix fontification of C++ reference return types (bug#60441)
1864b65af60 ; Minor fix for treesit--install-language-grammar-1 (bug#...
8994f87ad40 Adjust function-call fontification in csharp-ts-mode (bug...
411647a3f65 ; Fix NEWS.
7b0b17df67e Rewrite Antinews in ELisp manual for Emacs 29
f12f72b0e09 ; * lisp/simple.el (primitive-undo): Clarify error messag...
7fd822e7f52 Update Antinews in the user manual for Emacs 29
da77d70deeb ; * test/lisp/emacs-lisp/copyright-tests.el: Fix and futu...
2baf9e107c1 Fix shortdoc-tests failure with respect to regexp-opt-cha...
5aeb8de32ee ; Fix copyright years in 2 more files.
# Conflicts:
# etc/NEWS
Gregory Heytings [Mon, 2 Jan 2023 09:58:23 +0000 (09:58 +0000)]
; * admin/git-bisect-start: Update failing commits
Kyle Meyer [Mon, 2 Jan 2023 03:24:28 +0000 (22:24 -0500)]
Update to Org 9.6-81-g563a43
Dmitry Gutov [Mon, 2 Jan 2023 01:51:11 +0000 (03:51 +0200)]
ruby-ts-mode: Remove some currently unused functions
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--grand-parent-is)
(ruby-ts--ancestor-start, ruby-ts--ancestor-is):
Remove some currently unused functions.
Dmitry Gutov [Mon, 2 Jan 2023 01:29:15 +0000 (03:29 +0200)]
ruby-ts-mode: Highlight singleton method definitions and setters
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Highlight singleton method definitions and setters.
Perry Smith [Mon, 2 Jan 2023 00:57:38 +0000 (02:57 +0200)]
Add ruby-ts-mode
* etc/NEWS: Mention the new mode.
* lisp/progmodes/ruby-ts-mode.el: New file.
* test/lisp/progmodes/ruby-ts-mode-tests.el: New file.
* lisp/progmodes/eglot.el (eglot-server-programs):
Add ruby-ts-mode to the Ruby entry.
Co-authored-by: Dmitry Gutov <dgutov@yandex.ru>
Daniel Martín [Sat, 31 Dec 2022 00:45:27 +0000 (01:45 +0100)]
Fix fontification of C++ reference return types (bug#60441)
* lisp/progmodes/c-ts-mode.el (c-ts-fontify-error): Treat
reference_declarator nodes the same as pointer_declarator nodes when
calculating the identifier to fontify.
Yuan Fu [Mon, 2 Jan 2023 00:15:02 +0000 (16:15 -0800)]
; Minor fix for treesit--install-language-grammar-1 (bug#60465)
* lisp/treesit.el (treesit--install-language-grammar-1): Fix.
Andreas Schwab [Sun, 1 Jan 2023 23:31:00 +0000 (00:31 +0100)]
Fix build with older versions of gnutls
* src/gnutls.c (key_file2_aux): Use GNUTLS_PKCS_* constants only
if defined.
Jostein Kjønigsen [Sun, 1 Jan 2023 16:27:06 +0000 (17:27 +0100)]
Adjust function-call fontification in csharp-ts-mode (bug#60376)
- Ensure method-invocations are highlighted only on level 4.
- Ensure consistent fontification of variable declarations
(don't highlight usage of all variables).
- Fix issues with highlighting types in new() expressions.
- Fix issues with generic types in variable-declarations not using "var".
- Use fewer, more general queries for function-invocations. simplify code.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Change rules.
(csharp-ts-mode): Update feature list.
Eli Zaretskii [Sun, 1 Jan 2023 17:38:24 +0000 (19:38 +0200)]
; Fix NEWS.
Eli Zaretskii [Sun, 1 Jan 2023 17:37:22 +0000 (19:37 +0200)]
Rewrite Antinews in ELisp manual for Emacs 29
* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 29.
* doc/lispref/elisp.texi (Top): Update the top-level menu for
Antinews.
Eli Zaretskii [Sun, 1 Jan 2023 15:49:10 +0000 (17:49 +0200)]
; * lisp/simple.el (primitive-undo): Clarify error message (bug#60467)
Eli Zaretskii [Sun, 1 Jan 2023 15:38:23 +0000 (17:38 +0200)]
Update Antinews in the user manual for Emacs 29
* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 29.
* doc/emacs/emacs.texi (Top): Adjust the top-level menu.
Mattias Engdegård [Sun, 1 Jan 2023 12:18:50 +0000 (13:18 +0100)]
; * test/lisp/emacs-lisp/copyright-tests.el: Fix and future-safe.
Protesilaos Stavrou [Sun, 1 Jan 2023 12:14:09 +0000 (14:14 +0200)]
Update Modus themes to version 4 and add new themes
* etc/NEWS: Document the addition of four new Modus themes.
* doc/misc/modus-themes.org: Update the manual.
* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el: Add theme files.
* etc/themes/modus-themes.el: Update main file to the latest version.
Detailed release notes here:
<https://protesilaos.com/codelog/2023-01-01-modus-themes-4-0-0/>.
The inclusion of the four new Modus themes was discussed on
emacs-devel:
<https://lists.gnu.org/archive/html/emacs-devel/2022-12/msg00834.html>.
Mattias Engdegård [Sun, 1 Jan 2023 11:52:47 +0000 (12:52 +0100)]
Fix shortdoc-tests failure with respect to regexp-opt-charset
* test/lisp/emacs-lisp/shortdoc-tests.el (regexp-opt): Require.
`regexp-opt-charset` is not autoloaded, and whether `regexp-opt` is
preloaded is configuration-dependent.
Eli Zaretskii [Sun, 1 Jan 2023 11:08:15 +0000 (13:08 +0200)]
; Fix copyright years in 2 more files.
Po Lu [Sun, 1 Jan 2023 11:01:53 +0000 (11:01 +0000)]
Improve Haiku font size fallback
* src/haikufont.c (haikufont_open): If pixel_size is zero, don't
use a font parameter that doesn't exist.
Eli Zaretskii [Sun, 1 Jan 2023 10:51:16 +0000 (05:51 -0500)]
Fix copyright years of NEWS.29.
Eli Zaretskii [Sun, 1 Jan 2023 10:47:47 +0000 (05:47 -0500)]
Merge from origin/emacs-29
cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals
# Conflicts:
# etc/refcards/ru-refcard.tex
# lib/explicit_bzero.c
# m4/explicit_bzero.m4
Eli Zaretskii [Sun, 1 Jan 2023 10:46:25 +0000 (05:46 -0500)]
; Merge from origin/emacs-29
The following commit was skipped:
f0e9775b18 ; Auto-commit of loaddefs files.
Eli Zaretskii [Sun, 1 Jan 2023 10:46:24 +0000 (05:46 -0500)]
Merge from origin/emacs-29
72a81e2022 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix t...
ddfeee3e8a Build recipe interactively in treesit-install-language-gra...
6837469780 ; Add REVISION to treesit-language-source-alist
0dc788aa01 ; Remove GRAMMAR-DIR from treesit-language-source-alist
f9aef67c36 Tweak csharp-mode font-lock-settings (bug#60376)
46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
9a386b682e Revert a recent change which causes errors
9871ee8b14 ; More fixes for documentation of 'defalias'
f309651b67 ; Fix handling of 'not' by 'buffer-match-p'
9292f595a7 ; Fix typos
43c7e05a2a Fix misspelled functions in shortdoc groups
01acecc79c Simplify introduction of use-package manual
2a7e072e53 ; Fix documentation of 'defalias'
eee2aeca25 Fix python-shell-buffer-substring when retrieving a single...
bfdad6c4e5 ; Fix recent treesit-related changes
Eli Zaretskii [Sun, 1 Jan 2023 10:31:12 +0000 (05:31 -0500)]
; Add 2023 to copyright years.
Eli Zaretskii [Sun, 1 Jan 2023 09:04:22 +0000 (11:04 +0200)]
Improve documentation of 'isearch-open-overlay-temporary'
* lisp/isearch.el (isearch-open-overlay-temporary): Document that
the overlay passed to the 'isearch-open-invisible-temporary'
function cannot be deleted too early. (Bug#60399)
Eli Zaretskii [Sun, 1 Jan 2023 08:38:11 +0000 (10:38 +0200)]
Document 'use-package' in the 2 main manuals
* doc/emacs/custom.texi (Init Examples):
* doc/lispref/loading.texi (Named Features): Document 'use-package'
and its most important features.
Sean Whitton [Sun, 1 Jan 2023 05:55:42 +0000 (22:55 -0700)]
vc-git-dir-extra-headers: Improve detection of rebases
* lisp/vc/vc-git.el (vc-git--cmds-in-progress): New function.
(vc-git-dir-extra-headers): Use it.
Sean Whitton [Sun, 1 Jan 2023 05:45:10 +0000 (22:45 -0700)]
vc-git: Don't assume .git is a directory
* lisp/vc/vc-git.el (vc-git--git-path): New function.
(vc-git-dir-extra-headers)
(vc-git-merge-branch)
(vc-git-resolve-when-done): Use it.
Stefan Kangas [Sun, 1 Jan 2023 05:01:59 +0000 (06:01 +0100)]
Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-12-19 14:09:50 UTC.
Stefan Kangas [Sun, 1 Jan 2023 04:08:28 +0000 (05:08 +0100)]
; Auto-commit of loaddefs files.
Stefan Kangas [Sun, 1 Jan 2023 04:08:26 +0000 (05:08 +0100)]
; Auto-commit of loaddefs files.
Yuan Fu [Sun, 1 Jan 2023 01:10:50 +0000 (17:10 -0800)]
; * lisp/treesit.el (treesit-simple-indent-presets): Fix typo.
Well it's sort of a typo :-)
Yuan Fu [Sat, 31 Dec 2022 23:13:50 +0000 (15:13 -0800)]
Build recipe interactively in treesit-install-language-grammar
If there is not existing recipe for a language, prompt to build the
recipe interactively.
* lisp/treesit.el (treesit--install-language-grammar-build-recipe):
New functions.
(treesit-install-language-grammar): Use the new function.
Yuan Fu [Sat, 31 Dec 2022 22:55:10 +0000 (14:55 -0800)]
; Add REVISION to treesit-language-source-alist
This allows users to install a particular version or branch. Prompted
by bug#60427 and bug#60223.
* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Add REVISION.
Yuan Fu [Sat, 31 Dec 2022 22:27:51 +0000 (14:27 -0800)]
; Remove GRAMMAR-DIR from treesit-language-source-alist
Removing it doesn't affect building all the language grammars in
batch.sh, so it must be an artifact I added for something else and
later forgot to remove.
* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Remove GRAMMAR-DIR.
Theodor Thornhill [Fri, 30 Dec 2022 19:26:09 +0000 (20:26 +0100)]
Tweak csharp-mode font-lock-settings (bug#60376)
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Rearrange features.
(csharp-ts-mode): Rearrange features.
Eli Zaretskii [Sat, 31 Dec 2022 16:47:51 +0000 (18:47 +0200)]
; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
Eli Zaretskii [Sat, 31 Dec 2022 16:32:54 +0000 (18:32 +0200)]
Revert a recent change which causes errors
* lisp/subr.el (buffer-match-p): Undo last change, as it causes an
error in a timer function of show-paren-mode.
Eli Zaretskii [Sat, 31 Dec 2022 15:01:22 +0000 (17:01 +0200)]
; More fixes for documentation of 'defalias'
* doc/lispref/functions.texi (Defining Functions): Document
other possible values of DEFINITION in a defalias.
(Bug#60432)
Philip Kaludercic [Sat, 31 Dec 2022 14:04:18 +0000 (15:04 +0100)]
; Fix handling of 'not' by 'buffer-match-p'
* lisp/subr.el (buffer-match-p): Look up the cadr instead of the cdr
for the negation in 'not'.
* doc/lispref/buffers.texi (Buffer List): Update documentation.
(Bug#58951)
Stefan Kangas [Mon, 26 Dec 2022 09:43:57 +0000 (10:43 +0100)]
; Fix typos
Stefan Kangas [Sat, 31 Dec 2022 11:31:13 +0000 (12:31 +0100)]
Fix misspelled functions in shortdoc groups
* lisp/emacs-lisp/shortdoc.el (file, list): Fix misspelled function
names: 'file-writable-p' and 'seq-reduce'.
* test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require.
(shortdoc-all-functions-fboundp): New test.
Kévin Le Gouguec [Tue, 27 Dec 2022 14:40:43 +0000 (15:40 +0100)]
Simplify introduction of use-package manual
* doc/misc/use-package.texi (Getting Started): Do not advise requiring
the package, since the macro is autoloaded; also correct the macro's
name. (Bug#60366)
Richard Hansen [Sat, 10 Dec 2022 05:57:15 +0000 (00:57 -0500)]
whitespace: Use `define-globalized-minor-mode' for global mode
* lisp/whitespace.el (global-whitespace-mode): Fix interoperability
between `whitespace-mode' and `global-whitespace-mode' by using
`define-globalized-minor-mode'. (Bug#60334)
* test/lisp/whitespace-tests.el (whitespace-tests--global): Add a
regression test.
Eli Zaretskii [Sat, 31 Dec 2022 08:44:53 +0000 (10:44 +0200)]
; Fix documentation of 'defalias'
* doc/lispref/functions.texi (Defining Functions): Document that a
defalias's DEFINITION can be a macro. (Bug#60432)
kobarity [Thu, 22 Dec 2022 14:08:40 +0000 (23:08 +0900)]
Fix python-shell-buffer-substring when retrieving a single statement
* lisp/progmodes/python.el (python-shell-buffer-substring): Do not add
"if True:" line when retrieving a single statement.
(python-shell-send-region): Add a reference to
`python-shell-buffer-substring' in docstring.
* test/lisp/progmodes/python-tests.el (python-shell-buffer-substring-13)
(python-shell-buffer-substring-14, python-shell-buffer-substring-15)
(python-shell-buffer-substring-16, python-shell-buffer-substring-17):
New tests. (Bug#60142)
Eli Zaretskii [Sat, 31 Dec 2022 08:13:15 +0000 (10:13 +0200)]
; Fix recent treesit-related changes
* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Doc fixes.
* src/treesit.c (Ftreesit_language_abi_version): Fix a typo in
function's Lisp name. Doc fix.
(Ftreesit_language_available_p): Fix a typo in the function's C
name.
* doc/lispref/parsing.texi (Language Grammar): Fix wording.
Eli Zaretskii [Sat, 31 Dec 2022 07:24:32 +0000 (09:24 +0200)]
Fix the build broken by latest GnuTLS-related changes
* src/gnutls.c (key_file2_aux): Don't use GNUTLS_PKCS_PBES2_*
constants that are defined only in latest versions of GnuTLS.
(Bug#50507)
(Fgnutls_boot): Mention in the doc string that some flags of
'gnutls_certificate_set_x509_key_file2' are only supported since
GnuTLS 3.6.3.
Stefan Kangas [Sat, 31 Dec 2022 05:30:21 +0000 (06:30 +0100)]
Merge from origin/emacs-29
ab1f245f1a1 Show tree-sitter query source when signaling query error
0b58ea0e602 ; * lisp/treesit.el (treesit--install-language-grammar-1)...
724da28763c Add version tags and mention the new options in NEWS
8675f4136c7 Add new options for Ruby code indentation
4922de626f0 ; Fix doc strings of 'treesit-install-language-grammar'
69b2aaaaded ; Fix recently modified docs of 'set-face-attribute' (bug...
0248fc9e1ac Add treesit-install-language-grammar
0237c5927e9 Add treesit-language-abi-version
312f82d36f0 Change "language definition" to "language grammar" in man...
fba35657da5 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
dec1b37a32b ; * doc/lispref/parsing.texi (Accessing Node Information)...
39265abf0cc * test/lisp/net/tramp-tests.el (tramp-test32-shell-comman...
ebf65c7e7e3 * lisp/eshell/em-tramp.el (tramp): Require also at runtim...
# Conflicts:
# etc/NEWS
Po Lu [Sat, 31 Dec 2022 01:10:36 +0000 (09:10 +0800)]
; * src/gnutls.c (Fgnutls_boot): Fix typo.
Po Lu [Sat, 31 Dec 2022 01:10:23 +0000 (09:10 +0800)]
Fix last change in gnutls.c
* src/gnutls.c (Fgnutls_boot): Pacify
--enable-check-lisp-object-type and Haiku GCC warning involving
`key_file2_aux'.
Yuan Fu [Sat, 31 Dec 2022 00:57:45 +0000 (16:57 -0800)]
Show tree-sitter query source when signaling query error
* src/treesit.c (treesit_compose_query_signal_data): Add QUERY_SOURCE
parameter.
(treesit_ensure_query_compiled)
(Ftreesit_query_capture): Add query source.
Yuan Fu [Sat, 31 Dec 2022 00:23:39 +0000 (16:23 -0800)]
; * lisp/treesit.el (treesit--install-language-grammar-1): Minor fix.
Dmitry Gutov [Fri, 30 Dec 2022 22:12:51 +0000 (00:12 +0200)]
Add version tags and mention the new options in NEWS
* etc/NEWS: Mention the new options (bug#60186).
* lisp/progmodes/ruby-mode.el (ruby-block-indent)
(ruby-after-operator-indent, ruby-method-call-indent)
(ruby-parenless-call-arguments-indent): Add version tags.
Dmitry Gutov [Fri, 30 Dec 2022 21:58:26 +0000 (23:58 +0200)]
Add new options for Ruby code indentation
* lisp/progmodes/ruby-mode.el (ruby-block-indent)
(ruby-after-operator-indent, ruby-method-call-indent)
(ruby-parenless-call-arguments-indent): New options (bug#60186).
(ruby-smie-grammar): Specify associativity for "?".
(ruby-smie--indent-to-stmt): Add optional argument.
* test/lisp/progmodes/ruby-mode-resources/ruby.rb: New cases.
* test/lisp/progmodes/ruby-mode-resources/ruby-method-call-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/ruby-block-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/
ruby-parenless-call-arguments-indent.rb: New files.
* test/lisp/progmodes/ruby-mode-tests.el: Add indentation tests for new files.
Mattias Engdegård [Fri, 30 Dec 2022 12:48:47 +0000 (13:48 +0100)]
Correct suppression of suspicious eq type warning
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/emacs-lisp/bytecomp.el (bytecomp--warn-dodgy-eq-arg):
Suppress warning using (suspicious FUNCTION), where FUNCTION is
not always `eq`.
Jim Porter [Fri, 30 Dec 2022 18:40:08 +0000 (10:40 -0800)]
; Fix Eshell tests on macOS
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/if-statement-pipe)
(esh-cmd-test/if-else-statement-pipe):
* test/lisp/eshell/esh-io-tests.el (esh-io-test/pipeline/subcommands):
Allow trailing newlines in the output.
Nikolaos Chatzikonstantinou [Mon, 26 Sep 2022 15:08:18 +0000 (11:08 -0400)]
Add :pass and :flags to gnutls-boot for :keylist
* lisp/net/gnutls.el (gnutls-boot-parameters): Add the keys :pass and
:flags, and update the documentation.
* src/gnutls.c (gnutls-boot): Add the keys :pass and :flags, and
update the documentation.
(syms_of_gnutls): Add the symbols :pass, :flags, and the symbols that
correspond to the enumeration constants of the GnuTLS enum
`gnutls_pkcs_encrypt_flags_t'.
(key_file2_aux): Private helper function that translates a list of
symbols to its corresponding `unsigned int' value of the GnuTLS C enum
`gnutls_pkcs_encrypt_flags_t'.
(Bug#50507)
Eli Zaretskii [Fri, 30 Dec 2022 15:10:22 +0000 (17:10 +0200)]
; Fix doc strings of 'treesit-install-language-grammar'
* lisp/treesit.el (treesit-install-language-grammar)
(treesit--install-language-grammar-1): Doc fixes.
Eli Zaretskii [Fri, 30 Dec 2022 14:43:38 +0000 (16:43 +0200)]
; Fix recently modified docs of 'set-face-attribute' (bug#52493)
* doc/lispref/display.texi (Attribute Functions): Clarify wording
and restore removed information about resetting attributes to
'unspecified' for future frames.
* lisp/faces.el (set-face-attribute): Minor copyedit of doc
string.
Yuan Fu [Fri, 30 Dec 2022 10:56:26 +0000 (02:56 -0800)]
Add treesit-install-language-grammar
Per discussion on emacs-devel, I added function to install and compile
language grammars.
* lisp/treesit.el (treesit-language-source-alist): New variable.
(treesit-install-language-grammar)
(treesit--call-process-signal)
(treesit--install-language-grammar-1): New functions.
Yuan Fu [Fri, 30 Dec 2022 10:54:13 +0000 (02:54 -0800)]
Add treesit-language-abi-version
Also rename treesit-language-version to treesit-library-abi-version,
because the old name is somewhat misleading.
* doc/lispref/parsing.texi (Language Grammar): Update.
* src/treesit.c (Ftreesit_library_abi_version): Rename.
(Ftreesit_language_abi_version): New function.
Mattias Engdegård [Fri, 30 Dec 2022 10:30:23 +0000 (11:30 +0100)]
; fix misplaced bracketing of `and` inside `when`
Mattias Engdegård [Fri, 30 Dec 2022 10:11:14 +0000 (11:11 +0100)]
; remove incorrect quoting of condition names
Yuan Fu [Fri, 30 Dec 2022 08:47:22 +0000 (00:47 -0800)]
Change "language definition" to "language grammar" in manual.
"Language grammar" is apparently the more widely used term among
people talking about tree-sitter. To avoid confusion, I think it's
good to use that rather than "language definition", which is a term
that I made up :-)
Feel free to revert this if it is too much change.
* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi:
* lisp/treesit.el: Change "language definition" to "language grammar".
Yuan Fu [Fri, 30 Dec 2022 08:34:42 +0000 (00:34 -0800)]
; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix.
Yuan Fu [Fri, 30 Dec 2022 04:54:42 +0000 (20:54 -0800)]
; * doc/lispref/parsing.texi (Accessing Node Information): Fix typo.
Michael Albinus [Fri, 30 Dec 2022 08:26:56 +0000 (09:26 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command): Fix test.
Michael Albinus [Fri, 30 Dec 2022 08:26:41 +0000 (09:26 +0100)]
* lisp/eshell/em-tramp.el (tramp): Require also at runtime. (Bug#60402)
Jim Porter [Sat, 24 Dec 2022 22:31:50 +0000 (14:31 -0800)]
Fix reference-counting of Eshell I/O handles
This ensures that output targets in Eshell are only closed when Eshell
is actually done with them. In particular, this means that
"{ echo foo; echo bar } | rev" prints "raboof" as expected
(bug#59545).
* lisp/eshell/esh-io.el (eshell-create-handles): Structure the handles
differently so the targets and their ref-count can be shared.
(eshell-duplicate-handles): Reimplement this to share targets between
the original and new handle sets. Add STEAL-P argument.
(eshell-protect-handles, eshell-copy-output-handle)
(eshell-interactive-output-p, eshell-output-object): Account for
changes to the handle structure.
(eshell-close-handle): New function...
(eshell-close-handles, eshell-set-output-handle): ... use it.
(eshell-get-targets): Remove. This only existed to make the previous
implementation of 'eshell-duplicate-handles' work.
* lisp/eshell/esh-cmd.el (eshell-with-copied-handles): New argument
STEAL-P.
(eshell-do-pipelines): Use STEAL-P for the last item in the pipeline.
(eshell-parse-command): Don't copy handles for the last command in the
list; explain why we can't use STEAL-P here.
(eshell-eval-command): When queuing input, set 'eshell-command-body'
and 'eshell-test-body' for the 'if' conditional (see
'eshell-do-eval').
* test/lisp/eshell/esh-io-tests.el (esh-io-test/redirect-pipe): Split
into...
(esh-io-test/pipeline/default, esh-io-test/pipeline/all): ... these.
(esh-io-test/pipeline/subcommands): New test.
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-pipe)
(esh-cmd-test/while-loop-pipe, esh-cmd-test/if-statement-pipe)
esh-cmd-test/if-else-statement-pipe): New tests.
(esh-cmd-test/while-loop): Use 'pop' to simplify the test a bit.
* test/lisp/eshell/eshell-test-helpers.el
(eshell-test--max-subprocess-time): Rename to...
(eshell-test--max-wait-time): ... this.
(eshell-wait-for): New function...
(eshell-wait-for-subprocess): ... use it.
* test/lisp/eshell/eshell-tests.el (eshell-test/queue-input): Fix this
test. Previously, it didn't correctly verify that the original
command completed.
* test/lisp/eshell/em-tramp-tests.el
(em-tramp-test/should-replace-command): New macro...
(em-tramp-test/su-default, em-tramp-test/su-user)
(em-tramp-test/su-login, em-tramp-test/sudo-shell)
(em-tramp-test/sudo-user-shell, em-tramp-test/doas-shell)
(em-tramp-test/doas-user-shell): ... use it.
Stefan Kangas [Fri, 30 Dec 2022 05:45:13 +0000 (06:45 +0100)]
Merge from origin/emacs-29
644c71d6788 lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (...
ab38abfdf75 lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTe...
d086cd6cf87 Clarify the documentation of 'set-face-attribute'
dafa6d6badd Handle non-string values in pcomplete
beed746f944 Fix completion when completion-auto-select is set
7ccb88486eb ; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and...
558b59d81b9 Add color fontification in css-ts-mode (bug#60405)
a96a7c81151 ; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu s...
793641a3db5 ; * lisp/progmodes/js.el: Fix byte-compile warning.
0aea1cf8190 * lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (b...
60418e6f09c * src/keyboard.c (echo_add_key): Use recently rebound C-h...
706ed852855 Avoid assertion violations in treesit.c with --enable-che...
38c35bf0f6a Clean up treesit-default-defun-skipper and add comments
9371d488be6 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9d814bea460 ; whitespace.el: Use the new 'ert-with-buffer-selected' i...
784e509bded Fix c-ts-mode bracket indentation (bug#60398)
Paul Eggert [Fri, 30 Dec 2022 03:16:10 +0000 (19:16 -0800)]
Avoid some obsolescent tz abbrevs in doc.
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Document calc-time-zone abbreviation obsolescence
* doc/misc/calc.texi (Time Zones): Document that alphabetic
time zone abbreviations are obsolescent and in some cases wrong.
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Use RFC 822 abbrevs in sunrise-sunset strings
* lisp/calendar/solar.el (sunrise-sunset): Use RFC 822 time zone
abbreviations like "+0530" instead of idiosyncratic abbreviations
like "UTC+330min".
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Add nndiary-headers obsolescence comment
* lisp/gnus/nndiary.el (nndiary-headers): Add comment
about alphabetic time zone names being obsolescent.
Paul Eggert [Fri, 30 Dec 2022 05:27:45 +0000 (21:27 -0800)]
Default mbox "From " time zone to -0000
* lisp/mail/rmailout.el (rmail-nuke-pinhead-header):
Default the time zone to "-0000" instead of "EST", as "-0000" is
the RFC-2822-and-later standard for unknown time zones.
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
In cal-dst, be consistent re default to UTC
* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
(calendar-daylight-time-zone-name):
When using alphabetic time zone abbreviations, default to "UTC"
rather than to "EST" or "EDT", to be consistent with the behavior
when using numeric time zone abbreviations.
Also, in the numeric time zone use "-0000" rather than "+0000"
to show that the time zone is unknown; this is the RFC 5322
standard.
LdBeth [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Fix newsticker timezone decode
'newsticker--decode-rfc822-date' has the regex pattern for
North American timezones but the actual timezone conversion
for them was not implmented. Now cond cases are added to
handle them as specified in RFC822.
Copyright-paperwork-exempt: yes
Roland Winkler [Fri, 30 Dec 2022 05:31:08 +0000 (23:31 -0600)]
lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
lisp/textmodes/bibtex.el (bibtex-beginning-of-entry):
use bibtex-any-entry-maybe-empty-head (bug#56636)
Roland Winkler [Fri, 30 Dec 2022 05:22:48 +0000 (23:22 -0600)]
lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTeX fields (bug#50202)